# example_app.py
import sys
from PySide6.QtWidgets import QApplication, QLineEdit, QTextEdit # 需要导入控件类来检查类型
from PySide6.QtGui import QPalette, QColor # 需要导入调色板相关类
import 中文函数库 as ui

def 创建用户界面():
    窗口 = ui.创建主窗口("示例应用", 500, 400)
    ui.应用全局样式(窗口, 背景颜色="#e0f7fa", 字体="微软雅黑", 字号=12)

    中央区域, 主布局 = ui.为窗口设置中央区域和布局(窗口, "垂直", 20, 15)

    标题 = ui.添加标签到布局(主布局, "欢迎使用中文函数库！", "居中")
    ui.使控件具有样式(标题, {"字体大小": "20px", "文字颜色": "#00796b"})

    ui.添加标签到布局(主布局, "请输入您的姓名:")
    输入框 = ui.添加输入框到布局(主布局, "例如：张三")
    # --- 修改：应用样式表 ---
    ui.使控件具有样式(输入框, {
        "background-color": "#ffffff",  # 白色背景
        "color": "#000000",             # 黑色文字，确保可读性
        "border": "1px solid #cccccc",  # 添加一个清晰的边框
        "border-radius": "5px",         # 圆角
        "padding": "5px"                # 内边距
    })
    # --- 新增：修改调色板 ---
    调色板_输入框 = 输入框.palette()
    调色板_输入框.setColor(QPalette.Base, QColor("#ffffff"))  # 设置基础背景色为白色
    调色板_输入框.setColor(QPalette.Text, QColor("#000000"))  # 设置文字颜色为黑色
    输入框.setPalette(调色板_输入框)
    # --- 新增结束 ---


    文本框 = ui.添加文本框到布局(主布局, "历史记录将显示在这里...", 只读=True)
    # --- 修改：应用样式表 ---
    ui.使控件具有样式(文本框, {
        "background-color": "#ffffff",  # 白色背景
        "color": "#000000",             # 黑色文字
        "border": "1px solid #cccccc",  # 边框
        "border-radius": "5px",         # 圆角
        "padding": "5px"                # 内边距
    })
    # --- 新增：修改调色板 ---
    调色板_文本框 = 文本框.palette()
    调色板_文本框.setColor(QPalette.Base, QColor("#ffffff"))  # 设置基础背景色为白色
    调色板_文本框.setColor(QPalette.Text, QColor("#000000"))  # 设置文字颜色为黑色
    # 如果文本框是只读的，也设置只读时的背景色 (AlternateBase 有时用于只读)
    # 调色板_文本框.setColor(QPalette.AlternateBase, QColor("#f9f9f9"))
    文本框.setPalette(调色板_文本框)
    # --- 新增结束 ---


    def 处理问候():
        姓名 = 输入框.text().strip()
        if 姓名:
            消息 = f"你好, {姓名}! 欢迎使用！\n"
            历史 = 文本框.toPlainText()
            文本框.setPlainText(消息 + 历史) # 新消息在前
            输入框.clear()
        else:
            ui.显示警告(窗口, "警告", "请输入您的姓名！")

    按钮 = ui.添加按钮到布局(主布局, "问候", 点击时执行=处理问候)
    ui.使控件具有样式(按钮, {
        "background-color": "#0097a7", "color": "white",
        "border-radius": "8px", "padding": "10px"
    })

    ui.在布局中添加弹性空间(主布局)
    return 窗口

if __name__ == "__main__":
    应用程序 = QApplication(sys.argv)
    主窗口 = 创建用户界面()
    主窗口.show()
    sys.exit(应用程序.exec())
